Generating user interfaces

ABSTRACT

An interface generator  6  generates a user interface for a mobile communication device  2  by providing, at step S 2 , a menu of functional components to a website owner  5  and receiving an indication of which of the functional components are selected for inclusion in the user interface from the website owner, at step S 3 . When the interface generator  6  receives a request for the user interface from the mobile communication device  2 , at step S 7 , it delivers the user interface to the mobile communication device, at step S 8 , for display by the mobile communication device  2 . The generated user interface includes the selected functional components and selection of a functional component included in the displayed user interface by a user of the mobile communication device  2  causes the mobile communication device  2  to carry out a task.

FIELD OF THE INVENTION

The present invention relates to the generation of user interfaces formobile communication devices. In particular, but not exclusively, thepresent invention relates to the generation of a user interface that isdelivered to a mobile communication device over a mobile communicationsnetwork for display by the mobile communication device.

BACKGROUND TO THE INVENTION

Mobile communication devices are increasingly used for far more thantelephone calls. Over recent years in particular, mobile communicationdevices have been provided with a larger and larger range offunctionality. Organisations are under pressure to utilise thisfunctionality to communicate with potential customers, i.e. the users ofmobile communication devices.

For example, mobile communication devices increasingly provide access tothe internet. An organisation which has an Internet presence, such as awebsite, is therefore able to communicate with users of mobilecommunication devices through the internet. Advantageously, manyorganisations have existing websites, meaning that it is not necessaryfor them to expend resources to communicate with their customers in thisway.

However, access to the internet on mobile communication devices can becumbersome. The connection to the internet on a mobile communicationdevice is typically relatively slow compared to fixed connections, andthe compact nature of mobile communication devices can lead todifficulty in manipulating web pages designed for home or laptopcomputers. Moreover, mobile communication devices are often simplyunable to display some web-based content, such as that created in AdobeFlash.

In order to overcome these difficulties, an organisation may wish tooffer a mobile version of its website. A mobile version of a website isoptimised for display on a mobile communication device. For example,large images in the original website may be removed and the layout ofthe website may be optimised for mobile viewing. In this way, it ispossible to overcome some of the problems of viewing the internet on amobile communication device. However, for full optimisation differentmobile versions of a web site would have to be created for the differingcapabilities of each mobile communication device.

One way in which mobile versions of websites can be created is through a“transcoding” service. Transcoding services automatically convertconventional web sites into mobile versions suitable for viewing on amobile communication device. In some cases, transcoding services run“on-the-fly” (i.e. as content is downloaded), meaning that it ispossible to optimise the result according to the requirements of themobile communication device requesting the content.

Transcoding services allow organisations to provide a wide range ofcontent to customers who use appropriate mobile communication devices.However, there are limits to the functionality of such services. Inparticular, although the service may remove and rearrange elements ofthe website, the website was fundamentally designed for viewing in itsoriginal state. That is to say, the website was not designed for viewingor manipulation on a mobile communication device.

Moreover, websites, whether transcoded or not, do not necessarily makeuse of all the capabilities of the mobile communication device. That isto say, while they may provide content to users, they do not alloworganisations to utilise the full capabilities of the mobilecommunication device when communicating with their customers.

One way in which an organisation may harness the capabilities of mobilecommunication devices is to provide a software application that can beloaded on to the device. Users of mobile communication devices maytypically download such software applications from an “applicationstore” accessible from their mobile communication device. This allowsusers to customise the functions they wish to have available on theirmobile communication device, and also allows the organisation whichprovides the software application to utilise the hardware abilities ofthe mobile communication device in a manner which was previously thesole preserve of the manufacturer of the mobile communication device. Anincreasing proportion of mobile communication devices sold today areso-called “smart phones” in which the ability to download softwareapplications is seamlessly integrated.

One advantage of such applications is that they are designed for themobile communication device on which they function. This allows the userinterface of the applications to be designed with the mobilecommunication device in mind. For example, if the mobile communicationdevice has a touch screen the user interface may comprise large iconsfor selection by the user. In this way, a user may access informationeasily.

However, these developments bring their own complications. For example,there are a range of mobile communication devices available, andtypically an application written for one mobile communication devicewill hot function on another. As such, an organisation must provideseparate versions of the application for each mobile communicationdevice, or at least for each operating system running on the availablemobile communication devices. This is a burden and creates a barrier toentry into the marketplace.

This barrier to entry is especially acute for organisations whose corebusiness is not information technology, since the expertise to programan application for a single type of mobile communication device, letalone for many types, may not be available. Larger companies orcorporations may be able to overcome this barrier by employingcontractors to create applications for them, but this may beprohibitively expensive for small and medium sized enterprises.

As a result, while a wide range of organizations are able to communicatewith users of mobile communication devices through the internet, asmaller proportion of organisations are able to harness the fullcapabilities of such devices. It would be beneficial to teeth users ofmobile communication devices and the organisations themselves if moreorganisations were able to access these capabilities.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, there is providedan apparatus for generating a user interface for a mobile communicationdevice, the apparatus comprising a server configured to:

generate a web resource providing a menu of functional components;

receive an indication that one or more of the functional components inthe menu is/are selected for inclusion in the user interface;

generate the user interface including the selected functionalcomponent(s) based on the received indication;

receive a request for the user interface from the mobile communicationdevice; and

deliver the user interface to the mobile device for display by themobile communication device,

wherein selection of a functional component included in the displayeduser interface by the user of the mobile communication device causes themobile communication device to carry out a task.

According to a second aspect of the present invention, there is provideda method for generating a user interface for a mobile communicationdevice, the method comprising the steps of:

generating a menu of functional components;

receiving an indication that one or more of the functional componentsis/are selected for inclusion in the user interface;

generating the user interface including the selected functionalcomponent(s) based on the received indication;

receiving a request for the user interface from the mobile communicationdevice; and

delivering the user interface to the mobile communication device fordisplay by the mobile communication device;

wherein selection of a functional component included in the displayeduser interface by a user of the mobile communication device causes themobile communication device to carry out a task.

So, the present invention allows a user interface to be generated anddelivered to a mobile communication device. For example, an organisationthat wishes to communicate with a user of a mobile communication devicemay use the present invention to generate an appropriate user interface.As the functional components in the user interface can be selected froma menu of functional components, the organisation can select bespokefunctionality for the user interface according to their needs, with norequirement to individually program each aspect of the user interface.This modular approach to generating a user interface can allow a greaterrange of organisations to take advantage of the capabilities of themobile communication device than would otherwise be the case.

In some preferred embodiments, the menu of functional components isgenerated in dependence on one or more characteristics of a requestingentity. For example, the requesting entity may be a web site owner thatwishes to cause the generation of a user interface allowing the user toaccess content regarding the services that it offers. Accordingly, somefunctional components may be of greater value to the requesting entitythan others, depending, for example, on the activities or geographicallocation of the requesting entity. It is therefore beneficial that themenu of functional components depends on such characteristics of therequesting entity. For example, if a requesting entity is a restaurant,the menu of functional components may be generated to include functionalcomponents that are of value to those in the catering industry and maypresent the functional components in an order appropriate to thatindustry.

The menu of functional components may present the functional componentsin a number of ways. For example, components in the menu may beorganised alphabetically or by popularity. Moreover, the functionalcomponents may be provided in separate sections according to subjectmatter, or a price category for including the functional component inthe user interface.

According to preferred embodiments of the present invention, the serveris configured to analyse an existing web resource, and to includecontent from the existing web resource in the generated user interface.In this manner, the wide range of existing web resources and the contentcontained therein can be harnessed by generating user interfaces usingthis content. As such, users of mobile communication devices may accessthis content in a manner that is more effective and user-friendly thanattempting to access the web resource directly from the mobilecommunication device.

For example, a web resource may be a web page hosted at an IP addressassociated with internet domain name “www.bobspizzashop.com”. This webpage may be unsuitable for viewing on a mobile communication device. Forexample, the web page may include large images or objects encoded usingAdobe Flash or Java script which cannot be displayed by the mobilecommunication device. However, the web page may include content that isof interest to a user of the mobile communication device. For example,the user of the mobile communication device may wish to make a telephonecall to the owner of the web page and the web page may include thenecessary telephone number. Preferred embodiments of the presentinvention allow the generation of a user interface relating to the webpage that may be retrieved by the mobile communication device. The userinterface may include functional components that can be selected by theuser to cause the mobile communication device to perform tasks. Thesetasks may take advantage of content in the web page, such as the addressor telephone number of the owner of the web page.

Preferably, the user interface is stored at an IP address associatedwith an internet domain name that shares one or more elements with aninternet domain name of the existing web resource. For example, if theinternet domain name of the existing web resource is“www.bobspizzashop.com” then the user interface may be stored at an IPaddress associated with the Internet domain name“www.bobspizzashop.mobi”. This assists users of the mobile communicationdevice in locating the user interface. In preferred embodiments, theuser interface is stored at an IP address associated with an internetdomain name that shares a main distinctive element with the domain nameof the existing web resource. In the example given, the main distinctiveelement is “bobspizzashop”. Preferably, the user interface is stored atan IP address associated with an Internet domain name which is identicalto the internet domain name of the existing web resource save for theaddition or replacement of a top level domain.

In preferred embodiments, the server is configured to receive a furtherindication that one or more of the functional components in the menuis/are selected for inclusion in the user interface and to update theuser interface to include the selected functional component(s) based onthe received further indication. This allows a user interface to bemaintained after it has been generated. For example, the functionalcomponents in the user interface can be changed by indicating as such inthe further indication.

Preferably, the server is configured to request a payment in dependenceon the selected functional component(s). For example, the level efpayment requested may depend on the number of functional componentsselected. For example, there may be a price associated with eachfunctional component, such that selecting that functional component addsthat price to the level of payment requested. This model can be used toencourage third parties, which may be termed component providers, todevelop functional components that may be included in the generated userinterface, because each time a functional component developed by a thirdparty is selected the third party may receive a payment according to theprice associated with that functional component. In this way, thecapabilities and level of functionality of potential user interfaces isincreased, giving organisations the tools they need to communicateeffectively with the users of mobile communication devices.

The task may comprise initiating an application hosted by the mobilecommunication device. For example, a variety of applications may alreadybe loaded on to the mobile communication device and offer varyingfunctionality. The task may initiate one of these applications, therebyallowing the user interface to harness this existing functionality. Theapplications are typically software applications, but one skilled in theart will recognise that they may also be held in firmware. In general,the task may comprise activating existing functionality of the mobilecommunication device. Examples of such functionality are discussedbelow.

In a preferred embodiment, the user interlace is displayed by a firstapplication hosted by the mobile communication device, and the taskcomprises initiating a second application hosted by the mobilecommunication device. The second application is different from the firstapplication. In a preferred embodiment, the first application may be aninternet browser. In this case, the user interface may be delivered as aweb page or other web resource. Accordingly, the user of the mobilecommunication device may access the user interface using an internetbrowser, but may initiate applications other than the internet browserby selecting one of the functional components included in the userinterface. In other embodiments, the functional component may be“self-contained” such that it is not necessary to initiate any secondapplication.

In a preferred embodiment, the task comprises initiating a telephonecall. For example, the user may select one of the functional componentsand thereby cause a telephone call to be made to the owner of the webpage at “www.bobspizzashop.com”. In this way, the user interface allowsinformation that can be derived from the existing web page to beintegrated with functionality of the mobile communication device such asmaking a telephone call. Even if the mobile communication device wereable to display the existing web page correctly, the ability of thefunctional components to initiate tasks such as this offer superiorfunctionality to the user than simply viewing the web page.

In a preferred embodiment, the task comprises displaying a location on amap. To do this, the task may, for example, initiate en application onthe mobile communication device which displays maps. Again, thisprovides superior functionality to the user than the mere ability toview the existing web resource.

In preferred embodiment, the task comprises creating an email. To dothis, the task may, for example, initiate an application on the mobilecommunication device which allows the user to send emails. In apreferred embodiment, the task may create such email ready for the userto alter or send. In particular, the “to” field of the email may beautomatically completed by the task. For example, the “to” field may beautomatically completed by an email address that has been extracted byanalysing the original web resource.

In some preferred embodiments, the teak may comprise retrieving a formthat may be completed by the user. As such, a form designed to allow theuser to return information to the owner of the existing web resource maybe provided, easing communication between the user and the owner of theexisting web resource. For example, the form may be an order form or abooking form.

In some preferred embodiments, the task may comprise retrieving anddisplaying the existing web resource. That is to say, that when the userselects a functional component, this causes the mobile communicationdevice to retrieve and display the existing web resource. As such, theuser interface provides a mechanism by which the user can access theoriginal web resource if the functional components in the user interfaceare found not to meet the user's requirements. Alternatively, the one ormore tasks may comprise retrieving and displaying a mobile version ofthe web resource. That is to say, that when the user selects afunctional component, this causes the mobile communication device toretrieve and display a mobile version of the existing web resource. Assuch, the user may access a version of the web resource which has beenoptimised for the mobile communication device and does not includeelements which cannot be displayed by the mobile communication device.

Preferably, each functional component is represented by a graphicalelement within the user interface, each graphical element beingdisplayed in an array. The graphical element may be an icon. As such,the user of the mobile communication device is presented with an easilycomprehended array of functional components. The array provides anaesthetically pleasing display of the functional components for accessby the user, and also allows the user interface to be generated withinthe relatively simple to manage parameters of placing functionalcomponents in pre-defined positions in an array.

One or more of the functional components may be a link, such as ahyperlink. In particular, the link may be a link to an/the existing webresource.

Use of the words “system”, “server”, mobile communication device” and noon are intended to be general rather than specific. Whilst thesefeatures of the invention may be implemented using an individualcomponent, such as a computer or a central processing unit (CPU), theycan equally well be implemented using other suitable components or acombination of components. For example, the invention could beimplemented using a hard-wired circuit OF circuits, e.g. an integratedcircuit, or using embedded software. It can also be appreciated that theinvention can be implemented, at least in part, using computer programcode. According to another aspect of the present invention, there istherefore provided computer software or computer program code adapted tocarry out the method described above when processed by a computerprocessing means. The computer software or computer program code can becarried by computer readable medium. The medium may be a physicalstorage medium such as a Read Only Memory (ROM) chip. Alternatively, itmay be a disk such as a Digital Video Disk (DVD-ROM) or Compact Disk(CD-ROM). It could also be a signal such as an electronic signal overwires, an optical signal or a radio signal such as to a satellite or thelike. The invention also extends to a processor running the software orcode, e.g. a computer configured to carry out the method describedabove.

A preferred embodiment of the invention is described below, by way ofexample only, with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a communications system;

FIG. 2 shows an illustrative example of a user interface when displayedon a mobile communication device; and

FIG. 3 is a sequence diagram illustrating the generation of a userinterface and its subsequent delivery to a mobile communication device.

DETAILED DESCRIPTION

Referring to FIG. 1, a communications system 1 comprises a mobilecommunication device 2, such as a mobile telephone, smart phone,Personal Digital Assistant (PDA) or such like, that may retrieve a webresource from a web server 3 across the internet 4. The web resource ishosted on the Web server 3 on behalf of a web site owner 6.

The mobile communication device 2 is typically connected to the internet4 by a mobile communication network (not shown), such as a terrestrialor satellite mobile communication network. In other examples, the mobilecommunication device 2 uses a Wireless Local Area Network (WLAN) or suchlike to connect to the internet 4 instead of a mobile communicationnetwork. The mode of connection to the internet 4 is inessential, butthe mobile communication device 2 itself is usually characterised bylimitations in its ability to use web resources intended for use bydesktop and laptop personal computers (PCs). As such, although themobile communication device 2 may retrieve a web resource from the webserver 3, it may not be capable of displaying the web resource correctlyor adequately.

Web resources include web sites, web pages, feeds, data or video filesand so on. In the illustrated example, a web page intended for use byPCs is stored at a web server 3. The web page is part of a web siteunder the control of the web site owner 5. In this example, the webserver 3 is also under the control of the web site owner 5, but in otherexamples, the web server 3 may be controlled by another party, such asan Internet Service Provider (ISP), on behalf of the web site owner 5.

The communications system 1 further comprises an interface generator 6.This is typically implemented using a conventional server, but may beput into effect using other processing means as appropriate. Theinterface generator 6 is designed to present a menu of availablefunctional components to the web site owner 5 for inclusion in a userinterface. The web site owner may then choose from the availablefunctional components, end the interface generator 6 then generates userinterface using the chosen functional components.

The available functional components presented to the web site owner 5 bythe interface generator 6 may be provided by the interface generator 6itself, or may be provided by third parties. In this regard, thecommunications system 1 further comprises component providers 7 forproviding functional components. In the communications system 1 shown inFIG. 1, the component providers 7 are connected to the interfacegenerator 6 via the internet 4. However, this is not essential, andcomponents may be provided from component providers 7 to the interfacegenerator 6 via some other means.

The component providers 7 may retain the functional componentsthemselves, with the interface generator 6 retrieving them when requiredto generate a particular user interface. Alternatively, the componentproviders 7 may provide the functional components to the interfacegenerator 6 for storage. In fact, a combination of these techniques maybe used for different functional components, and a given functionalcomponent may be distributed between the interface generator 6 and thecomponent providers 7. For example, resource data for a given functionalcomponent may be held by the component provider 7 while the interfacegenerator 6 stores the functional component itself.

The content and presentation of the menu of available functionalcomponents that the interface generator 6 presents to the web site owner5 may vary according to a number of factors. For example, certainfunctional components may be available to a given web site owner 5 onthe basis of details regarding that web site owner 5, such asnationality or the type of business the web site owner 5 represents.

In some examples, the user interface generated by the interfacegenerator 6 may relate to web resources hosted on the web server 3. Forexample, the interface generator 6 may generate a user interface usingcontent from a web page intended for use by PCs that is hosted by theweb server 3. In order to generate a user interface in this way, theinterface generator 6 may have the capability to analyse existing webresources, such as those hosted on web server 3.

Once generated, the interface generator 6 may store the user interface.The interface generator 6 may then deliver the user interface to themobile communication device 2 on receipt of a request for the userinterface from the mobile communication device 2. By retrieving the userinterface from the interface generator 6, the mobile communicationdevice 2 may have access to the content of the web resource used togenerate the user interface without the need to access the web resourceitself.

Exemplary functional components that can be included in a user interfaceby the interface generator 6 are described in more detail below withreference to FIG. 2. In general, functional components in a userinterface can be selected by the user of the mobile communication device2 to cause the mobile communication device 2 to carry out one or moretasks. These tasks may or may not utilise the content from a webresource that was used in the generation of the user interface.

Consider the example of a web site owner 5 who has established a webpage for PCs hosted at an IP address associated with the internet domainname “www.bobspizzashop.com”. This IP address is the address of the webserver 3 where the web page is hosted. If a user of the mobilecommunication device 2 wishes to access the web page, the mobilecommunication device 2 may retrieve the web page from the web server 3across the internet 4. However, the mobile communication device 2 maynot have the capabilities to correctly display all or part of the webpage properly. For example, the web page may include objects encoded inAdobe Flash or Java script, and the mobile communication device 2 maynot have the ability to display such objects.

The web page at “www.bobspizzashop.com” relates to a restaurantbelonging to the web site owner 5. The content in the web page mayinclude details such as the opening times, the menu, the telephonenumber and the address of the restaurant. These details may be ofinterest to a user of the mobile communication device 2, but the mobilecommunication device 2 may be unable to properly display the web page.

So, the web page at “www.bobspizzashop.com” is an ineffective way forthe web site owner 5 to communicate with the user of the mobilecommunication device 2. According to the present invention, the web siteowner 5 may instead communicate with the user of the mobilecommunication device 2 via a user interface generated by the interfacegenerator 6.

In order that the web site owner 5 has control over the user interfacegenerated by the interface generator 6, the interface generator 6presents a list of a viable functional components to the web site owner5. The functional components chosen by the web site owner 5 are thenincluded when the interface generator 6 generates the user interface. Ingenerating the user interface, the interface generator 6 may use contentfrom the web page at “www.bobspizzashop.com”. The interface generator 6then stores the user interface. For example, the interface generator 6may store the user interface at an IP address associated with internetdomain name “www.bobspizzashop.mobi”. As such, the mobile communicationdevice 2 may browse to the Internet domain name “www.bobspizzashop.mobi”to access the user interface relating to the web page at Internet domainname “www.bobspizzashop.com”. This user interface is designed fordisplay on the mobile communication device 2.

As well as being designed for use by the mobile communication device 2,the user interface may take greater advantage of the functionality ofthe mobile communication device 2 in a manner which the web page at“www.bobspizzashop.com” did not. In particular, the user of the mobilecommunication device 2 may select functional components within the userinterface to cause the mobile communication device 2 to carry out tasks.These tasks may reflect the range of capability of the mobilecommunication device 2 while utilising content in the web page at“www.bobspizzashop.com” which has been used when generating the userinterface.

FIG. 2 shows an exemplary user interface based on the web page at“www.bobspizzashop.com” as it would be displayed by the mobilecommunication device 2.

The user interface comprises a title 21 and a number of functionalcomponents 22-29. The title is displayed at the top of the userinterface and may comprise content from the web page at“www.bobspizzashop.com”. The functional components 22-29 are eachrepresented by graphical elements. The graphical elements are arrangedin a two-dimensional array. In the example shown, the graphical elementrepresenting each functional component 22-29 comprises an icon and abrief description. The user interface is displayed on the mobilecommunication device 2 as shown in FIG. 2, and the user of the mobilecommunication device 2 may select one or more of the functionalcomponents 22-29 according to their requirements. The functionalcomponents 22-29 in FIG. 2 are just examples of functional components22-29 that may be incorporated into the user interface. One skilled inthe art will recognise that other functional components mildadditionally or alternatively be incorporated. As described below, whenthe user selects a functional component 22-29 it causes the mobilecommunication device 2 to carry out one or more tasks.

The first functional component 22 is entitled “view PC web page”. Thisfunctional component 22 allows the user of the mobile communicationdevice 2 to access the web page intended for PCs hosted at an IP addressassociated with the internet domain name “www.bobspizzashop.com”. Assuch, the task carried out by the mobile communication device 2 inresponse to the selection of the first functional component 22 by theuser is the retrieval and display of the web page at“www.bobspizzashop.com”. As mentioned previously, the display of the webpage en the mobile communication device 2 may be imperfect because ofthe different capabilities of the mobile communication device 2 and thePCs for which the web page is designed.

The second functional component 23 illustrated in FIG. 2 is entitled“view mobile web page”. The second functional component 23 allows theuser of the mobile communication device 2 to access a mobile version ofthe web page hosted at the IP address associated with the internetdomain name “www.bobspizzashop.com”. As such, the task carried out bythe mobile communication device 2 in response to the selection of thesecond functional component 23 by the user is the retrieval and displayof a mobile version of the web page at “www.bobspizzashop.com”. Themobile version is a version of the web page that has been adapted forviewing on the mobile communication device 2. For example, the web siteowner 5 may provide a separate web page which is designed for viewing onthe mobile communication device 2. In another example, the interfacegenerator 6 may be arranged to transcode the web page at“www.bobspizzashop.com” so that it is appropriate for the mobilecommunication device 2. That is, when the user of the mobilecommunication device 2 selects the second functional component 23, arequest is sent to the user interface generator 6 for a mobile versionof the web page at “www.bobspizzashop.com”. The user interface generator6 then retrieves the web page from the web server 3, transcodes the webpage so that it is appropriate for the mobile communication device 2,and delivers the transcoded web page to the mobile communication device2.

The third functional component 24 illustrated in FIG. 2 is entitled“make booking”. This allows a user of the mobile communication device 2to make a booking at the restaurant associated with the web page at“www.bobspizzashop.com”. As such, the task carried put by the mobilecommunication device 2 in response to the selection of the thirdfunctional component 24 is the retrieval of a booking form. For example,if the user selects the third functional component this may cause themobile communication device 2 to send a request to one of the componentproviders 7 for a booking form, allowing the user to specify detailssuch as the time/date and the number of guests for which the user wouldlike to make a reservation at the restaurant associated with the website at “www.bobspizzashop.com”. The mobile communication device 2 maythen return the booking form to the relevant component provider whichmay make its own arrangements to validate the booking with the web siteowner 5.

A fourth functional component 25 illustrated in FIG. 2 is entitled“order delivery”. This allows the user of the mobile communicationdevice to order a meal to be delivered by the restaurant associated withthe web page at “www.bobspizzashop.com”. As such, the task carried outby the mobile communication device 2 in response to the selection of thefourth functional component 25 by the user is the retrieval of an orderform. For example, if the user selects the fourth functional component25 this may cause the mobile communication device 2 to send a request toone of the component providers 7 for an order form. The order form mayinclude a list of items that can be ordered from the restaurant and afield for the user to enter their address. Once completed, the orderform may be transmitted to the component provider 7 which provided theorder form and that component provider 7 may make its own arrangementsto ensure that the order is properly received and processed by the website owner 6.

The fifth functional component 20 illustrated in FIG. 2 is entitled“make phone call”. The fifth functional component 20 allows the user tomake a telephone call to the web site owner 5 from the mobilecommunication device 2. As such, the task carried out by the mobilecommunication device 2 in response to the selection of the fifthfunctional component 26 by the user is the initiation of a telephonecall to the web site owner 5. If the user selects the fifth functionalcomponent 20 then the mobile communication device automaticallyinitiates a phone call to the web site owner 5, who in the illustratedexample is also the proprietor of the restaurant associated with the webpage at “www.bobspizzashop.com”. The user is then able to make enquiriesof the web site owner 5 as required. For example, the user may make areservation at the restaurant or order a meal to be delivered.

The sixth functional component 27 illustrated in FIG. 2 is entitled“show on map”. This allows the user to cause the mobile communicationdevice to display a map illustrating the location of the restaurantassociated with the web page at “www.bobspizzashop.com”. As such, thetask carried out by the mobile communication device 2 in response to theselection of the sixth functional component 26 by the user is thedisplay of a location on a map. For example, if the user selects thesixth functional component 27 this may cause the mobile communicationdevice to send a request to one of the component providers 7 for a mapillustrating the location of the restaurant associated with the web pageat “www.bobspizzashop.com”. However, in an alternative and preferredembodiment, the mobile communication device 2 does not request a mapfrom a component provider 7 when the user selects the sixth functionalcomponent 27, but instead uses details of the address of the restaurantwith a map application which is already hosted by the mobilecommunication device 2, thereby allowing the display of the location ofthe restaurant to the user. The details of the address can be obtainedbecause content from the web page at “www.bobspizzashop.com” was used togenerate the user interface. In some preferred embodiments, the mapapplication may also be able to display to the user directions fromtheir current location to the restaurant.

The seventh functional component 28 illustrated in FIG. 2 is entitled“read reviews”. This allows the user of the mobile communication device2 to view reviews of the restaurant associated with the web page at“www.bobspizzashop.com”. As such, the task carried out by the mobilecommunication device 2 in response to the selection of the seventhfunctional component 28 by the user is the retrieval and display ofreviews relating to the web site owner 5. These reviews might becontained in an independent web page hosted at, for example, an IPaddress associated with the internet domain name“www.restaurantreviews.com”. If the user selects the seventh functionalcomponent 28, then a request may be made to retrieve a web page from“www.restaurantreviews.com” and this web page may then be displayed tothe user.

The eighth functional component 29 illustrated in FIG. 2 is entitled“send email”. This allows the user of the mobile communication device 2to send an email to the web site owner 5. As such, the task carried outby the mobile communication device 2 in response to the selection of theeighth functional component 29 by the user is the generation of anemail. For example, if the user selects the eighth functional component29 this may cause an email application hosted by the mobilecommunication device 2 to be initiated. Moreover, the email address ofthe web site owner is automatically included in the “to” field of a newemail which is automatically generated in the email application. Theemail address of the web site owner 5 has been obtained during analysisof the web page at “www.bobspizzashop.com” and used in the generation ofthe user interface. As such, the user need only fill in the content ofthe email and send the email to contact the web site owner 5.

As mentioned above, the functional components 22-29 shown in FIG. 2 areonly examples of those that may be made available to the web site owner5 by the interface generator 6. The skilled person will recognise that alarge range of alternative functional components may additionally oralternatively be provided. Indeed, an advantage of the communicationssystem 1 shown in FIG. 1 is that new types of functional components maybe added to the available functional components as the system 1develops. Moreover, the new types of functional components can beintroduced not only by the interface generator 6 but also by thecomponent providers 7.

As mentioned previously, the user interface illustrated in FIG. 2 isgenerated by the interface generator 6. The steps by which thegeneration of the user interface occur are illustrated in FIG. 3.

At step S1, the web site owner sends a request for the generation of auser interface to the interface generator 6. The request may includedetails of an existing web resource belonging to the web site owner(such as the web page at “www.bobspizzashop.com”), such as the IPaddress of the web resource. Moreover, the web site owner 6 may specifyan internet domain name at which it would like the user interface to beaccessible. For example, the web site owner responsible for the web siteat “www.bobspizzashop.com” may wish the user interface to be accessibleat internet domain name “www.bobspizzashop.mobi”. In this case, theinterface generator 6 will register the internet domain name“www.bobspizzashop.mobi” with its own IP address so that it will receiverequests directed to that domain name.

On receiving a request for a user interface from the web site owner 5,the interface generator 6 can analyse the web page at“www.bobspizzashop.com”. In this process, the interface generator may beable to locate such content as the title of the web page, a phonenumber, an address, an email address and so on. This content is storedfor later use in generating the user interface.

The interface generator 6 then generates a menu of functionalcomponents. This menu represents the available functional componentsthat could be included in a user interface relating to the web page at“www.bobspizzashop.com”. The functional components may be of the typesdescribed above with reference to FIG. 2 or may be of different types asrequired. The menu of functional components can be generated independence on the results of the analysis by the interface generator 6of the web page at “www.bobspizzashop.com”. For example, it may be thatfunctional components are only available if the necessary content hasbeen identified in the web page by the interface generator 6 during thisanalysis. In one instance, a functional component which is designed tocause the mobile communication device 2 to make a telephone call to theweb site owner 5 will not be available if a relevant telephone numberhas not been identified in the web page.

At step S2, the interface generator 6 provides the menu of functionalcomponents to the web site owner 5. The web site owner 5 can then selectwhich functional components it would like to be included in the userinterface. This decision may be made on the basis of presentationalconsiderations or the type of services the web site owner 5 wishes tooffer to its customers. Moreover, the decision may be made on the basisof financial considerations. For example, the user interface generator 6may charge for the service of generating a user interface, and thischarge may depend on the functional components selected by the web siteowner 5 for the user interface. Similarly, this charging structure canprovide an incentive for component providers 7 to develop functionalcomponents for inclusion in user interfaces as they can receive all orpart of the charge levied to the web site owner 5 for including afunctional component that they have developed.

The menu of functional components may be tailored towards the web siteowner 5. That is to say, the functional components in the menu offunctional components may depend on one or more characteristics of theweb site owner 5. For example, different functional components may beappropriate to different web site owners which carry out differentbusinesses or are located in different geographical regions. Moresubtly, characteristics of the web site owner 5 may affect the manner inwhich functional components are presented in the menu of functionalcomponents (for example, by altering the order of the functionalcomponents) without actually adding or removing any functionalcomponents to or from the menu.

Having made a decision as to which functional components to include inthe user interface, the web site owner 5 returns an indication of thisdecision to the interface generator, at step S3. That is to say, theinterface generator receives from the web site owner 5 an indicationthat one or more of the functional components in the menu is/areselected for inclusion in the user interface.

Once the interface generator 6 has received the indication of whichfunctional components are to be included in the user interface, it canrequest, at step S4, those functional components that are required fromthe component providers 7. At step S5, the component providers 7 returnthe requested functional components. As mentioned previously, functionalcomponents may be hosted at the interface generator 6 itself, so it maynot be necessary in all cases to carry out steps S4 and S5 to retrievefunctional components from the component providers 7.

Once all the functional components that have been selected by the website owner 5 are available to the interface generator 6, the interfacegenerator 6 generates a user interface which contains the selectedfunctional components. During the process of generating the userinterface, the interface generator 6 may use content from the existingweb page at “www.bobspizzashop.com”. This content has been identified bythe interface generator 6 during the analysis of the web page. Forexample, during the generation of the user interface, the interfacegenerator may incorporate content regarding an address or a telephonenumber into functional components. Moreover, the interface generator 6may use content regarding the web site owner 5, such as the title of theorganisation or a logo, for presentational purposes, such as the title21 illustrated in FIG. 2.

Once generated the user interface is stored, for example at an IPaddress associated with the internet domain name“www.bobspizzashop.mobi”, so that it may be accessed in future. In thepreferred embodiment, the user interface is stored by the interfacegenerator 6, but one skilled in the art will recognise that the userinterface could be stored elsewhere without compromising thefunctionality of the present invention.

At step S7 the mobile communication device 2 sends a request for theuser interface to the interface generator 6. For example, this requestmay take the form of a hypertext transfer protocol (HTTP) requestinitiated when a user of the mobile communication device 2 browses tothe internet domain name “www.bobspizzashop.mobi”. At step S8, the userinterface is returned to the mobile communication device 2.

The user interface is then displayed on the mobile communication device,as illustrated in FIG. 2. The selected functional components 22 to 29are displayed in a two-dimensional array, and are each graphicallyrepresented by an icon with a description placed below.

The user of the mobile communication device 2 may select one or more ofthe functional components and in doing so cause the mobile communicationdevice 2 to carry out one or more tasks, at step S9. As described abovewith reference to FIG. 2, these tasks may vary according to therequirements of the user. For example, the task may be the display a mapshowing the location of the web site owner, or may be the retrieval of aweb page, such as that hosted at “www.bobspizzashop.com”.

Once the user interface has been generated, it can be accessed onrepeated occasions by different mobile communication devices. After aperiod of time, the web site owner 5 may wish to update the userinterface, for example to include functional components that have beendeveloped since the user interface was generated. In this case, the website owner will send a request to update the user interface to theinterface generator, at step S10. At step S11, the interface generatorwill provide a menu of available functional components to the web siteowner 5 in a manner analogous to step S2. As suggested above, the menuof functional components provided at step S11 may or may not be the sameas that provided at step S2, for example, because further functionalcomponents have been developed. As for the menu of functional componentsprovided at step S2, the menu of functional components provided at stepS11 may depend on one or more characteristics of the web site owner 5.

The web site owner 5 can then select which functional components itwould like to include in the user interface. In one example, the menu offunctional components provided at step S11 will include an indication ofthe functional components the web site owner had previously chosen atstep S5. This will assist the web site owner in assessing how to updatethe user interface. Again, the decision the web site owner 6 makes atthis stage may depend on a number of factors, such as the cost ofindividual functional components or the intended users of the userinterface.

Having made a decision as to which functional components to include inthe user interface, the web site owner 5 returns on indication of thisdecision to the interface generator, at step S12. This step is analogousto step S3 above.

At step S13, the interface generator 6 updates the user interface usingthe indication of desired functional components provided at step S12.This may involve removing functional components from the user interfaceor adding them to the user interface, according to the preferenceexpressed by the web site owner 5. The skilled person will appreciatethat, if required, the interface generator 6 may retrieve functionalcomponents from the component generators, as described above withreference to steps S4 and S5.

The mobile communication device 2 may then access and use the updateduser interface in the same manner as described with reference to stepsS7 to S9.

The present invention therefore provides a way of generating andmaintaining a user interface that may be accessed by a mobilecommunication device 2. This allows an entity, such as a web site owner5, to communicate with users in a more effective manner than previouslypossible.

The described embodiments of the invention are only examples of how theinvention may be implemented. Modifications, variations and changes tothe described embodiments will occur to those having appropriate skillsand knowledge. These modifications, variations and changes may be madewithout departure from the scope of the invention defined in the claimsand its equivalents.

1. Apparatus for generating a user interface for a mobile communicationdevice, the apparatus comprising a server configured to: generate a webresource providing a menu of functional components; receive anindication that one or more of the functional components in the menuis/are selected for inclusion in the user interface; generate the userinterface including the selected functional component(s) based on thereceived indication; receive a request for the user interface from themobile communication device; and deliver the user interface to themobile communication device for display by the mobile communicationdevice, wherein selection of a functional component included in thedisplayed user interface by a user of the mobile communication devicecauses the mobile communication device to carry out a task.
 2. Apparatusaccording to claim 1, wherein the server is configured to analyse anexisting web resource, and to include content from the existing webresource in the generated user interface.
 3. Apparatus according toclaim 2, wherein the server is configured to receive a furtherindication that one or more of the functional components in the menuis/are selected for inclusion in the user interface and to update theuser interface to include the selected functional component(s) based onthe received further indication.
 4. Apparatus according to claim 1,wherein the server is configured to request a payment in dependence onthe selected functional component(s).
 5. Apparatus according to claim 1,wherein the task comprises initiating an application hosted by themobile communication device.
 6. Apparatus according to claim 5, whereinthe user interface is displayed by a first application hosted by themobile communication device and the task comprises initiating a secondapplication hosted by the mobile communication device.
 7. Apparatusaccording to claim 1, wherein the task comprises initiating a telephonecall.
 8. Apparatus according to claim 1, wherein the task comprisedisplaying a location on a map.
 9. Apparatus according to claim 1,wherein the task comprise creating an email.
 10. Apparatus according toclaim 1, wherein each functional component is represented by a graphicalelement within the user interface, each graphical element beingdisplayed in an array.
 11. Apparatus according to claim 10, wherein eachgraphical element comprises an icon.
 12. A method for generating a userinterface for a mobile communication device, the method comprising theserver performing the steps of: generating a menu of functionalcomponents; receiving an indication that one or more of the functionalcomponents is/are selected for inclusion in the user interface;generating the user interface including the selected functionalcomponent(s) based on the received indication; receiving a request forthe user interface from the mobile communication device; and deliveringthe user interface to the mobile communication device for display by themobile communication device; wherein selection of a functional componentincluded in the displayed user interface by a user of the mobilecommunication device causes the mobile communication device to carry outa task.
 13. A method according to claim 12, further comprising theserver performing the step of analysing an existing web resource, andwherein content from the existing web resource is included in thegenerated user interface.
 14. A method according to claim 12, furthercomprising the server performing the steps of: receiving a furtherindication that one or more of the functional components in the menuis/are selected for inclusion in the user interface; and updating theuser interface to include the selected functional component(s) based onthe received further indication.
 15. A method according to claim 12,further comprising the server performing the step of requesting apayment in dependence on the selected functional component(s).
 16. Amethod according to claim 12, wherein the task comprises initiating anapplication hosted by the mobile communication device.
 17. A methodaccording to claim 16, wherein the user interface is displayed by afirst application hosted by the mobile communication device and the taskcomprises initiating a second application hosted by the mobilecommunication device.
 18. A method according to claim 12, wherein thetask comprises initiating a telephone call.
 19. A method according toclaim 12, wherein the task comprises displaying a location on a map. 20.A method according to claim 12, wherein the task comprises creating anemail.
 21. A method according to claim 12, wherein each functionalcomponent is represented by a graphical element within the userinterface, each graphical element being displayed in an array.
 22. Amethod according to claim 21, wherein each graphical element comprisesan icon.
 23. Computer program code executed by a computer to perform themethod of claim
 12. 24. A non-transitory computer readable mediumstoring computer program code adapted to carry out the method of claim12 when executed by a computer.